package com.imooc.security.core.social.qq.connet;

import com.imooc.security.core.social.qq.api.QQ;
import com.imooc.security.core.social.qq.api.QQUserInfo;
import org.springframework.social.connect.ApiAdapter;
import org.springframework.social.connect.ConnectionValues;
import org.springframework.social.connect.UserProfile;

public class QQAdapter implements ApiAdapter<QQ>{
    /**
     * 测试当前API是否可用 QQ服务是否可达
     * @param api
     * @return
     */
    @Override
    public boolean test(QQ api) {
        return true;
    }

    /**
     * 在 Connection 数据与 API 数据 之间做适配
     * 设置 ConnectionValues 数据 (数据来源是 QQ api)
     * @param api
     * @param values 包含创建一个 Connection 所需数据项
     */
    @Override
    public void setConnectionValues(QQ api, ConnectionValues values) {

            QQUserInfo userInfo = api.getUserInfo();
            values.setDisplayName(userInfo.getNickname());
            values.setImageUrl(userInfo.getFigureurl_qq_1());
            values.setProfileUrl(null);
            values.setProviderUserId(userInfo.getOpenId());

    }

    /**
     * 绑定与解绑是用
     * @param api
     * @return
     */
    @Override
    public UserProfile fetchUserProfile(QQ api) {
        return null;
    }

    @Override
    public void updateStatus(QQ qq, String s) {
        // do nothing

    }
}
